package cn.jsu.oj.dispatchServer.satellite.mode.subscribe;

/**
 * 面壁者
 *
 * @author shan
 * @date 2022/06/29
 */
public interface Observable {

    /**
     * 注册观察者
     *
     * @param observer 观察者
     * @param identity 身份
     */
    void registerObserver(Observer observer, String identity);

    /**
     * 移除观察者
     *
     * @param identity 身份
     */
    void removeObserver(String identity);

    /**
     * 通知观察者
     *
     * @param message 消息
     */
    void notifyObserver(Object message);
}
